package com.sdy.healthcode.biz.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.utils.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @author Hyh
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "获取用户预约信息")
@ColumnWidth(20)
public class GetAppointmentDTO {

    @ApiModelProperty(value = "患者ID")
    @ExcelIgnore
    private Integer id;

    @ApiModelProperty(value = "患者名称")
    @ExcelProperty(value = "患者名称", index = 0)
    private String name;

    @ApiModelProperty(value = "患者性别")
    @ExcelProperty(value = "患者性别", index = 1)
    private String sex;

    @ApiModelProperty(value = "患者年龄")
    @ExcelProperty(value = "患者年龄", index = 2)
    private Integer age;

    @ApiModelProperty(value = "联系方式")
    @ExcelProperty(value = "联系方式", index = 6)
    private String phone;

    @ApiModelProperty(value = "身份证号")
    @ExcelProperty(value = "身份证号", index = 7)
    private String idCard;

    @ApiModelProperty(value = "预约状态  1-有效 2-已取消 3-已过期")
    @ExcelIgnore
    private Integer state;

//    @ApiModelProperty(value = "预约状态  1-有效 2-已取消 3-已过期")
//    @ExcelIgnore
//    private String states;

    @ApiModelProperty(value = "就诊日期")
    @JsonFormat(pattern = DateUtil.DATE_FORMAT)
    @ExcelIgnore
    private Date scheduleDate;

    @ApiModelProperty(value = "就诊日期", hidden = true)
    @ExcelProperty(value = "就诊日期", index = 4)
    private String scheduleDateStr;

    @ApiModelProperty(value = "就诊时间")
    @ExcelProperty(value = "就诊时间", index = 5)
    private String visitTime;

    @ApiModelProperty(value = "医生名称")
    @ExcelProperty(value = "医生名称", index = 3)
    private String docName;

    @ApiModelProperty(value = "替换医生名称")
    @ExcelIgnore
    private String subDocName;

    @ApiModelProperty(value = "科室名称")
    @ExcelIgnore
    private String dept;

    @ApiModelProperty(value = "医生状态 1、可预约 2、长期停诊 3、停诊不显示 4、临时停诊")
    @ExcelIgnore
    private Integer docState;

//    @ExcelIgnore
//    private String docStates;

    @ApiModelProperty(value = "替换医生状态 1、可预约 2、长期停诊 3、停诊不显示 4、临时停诊")
    @ExcelIgnore
    private Integer subDocState;

//    @ExcelIgnore
//    private String subDocStates;

    @ApiModelProperty(value = "提交时间")
    @JsonFormat(pattern = DateUtil.DATETIME_FORMAT)
    @ExcelIgnore
    private Date createTime;

}
